class Logger {

    private getTimestamp(): string {
        const now = new Date();
        const year = now.getFullYear();
        const month = String(now.getMonth() + 1).padStart(2, '0');
        const day = String(now.getDate()).padStart(2, '0');
        const hours = String(now.getHours()).padStart(2, '0');
        const minutes = String(now.getMinutes()).padStart(2, '0');
        const seconds = String(now.getSeconds()).padStart(2, '0');
        return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
    }

    public log(...args: any[]): void {
        const timestamp = this.getTimestamp();
        console.log(`[${timestamp}] [INFO]`, ...args);
    }

    public warn(...args: any[]): void {
        const timestamp = this.getTimestamp();
        console.warn(`[${timestamp}] [WARN]`, ...args);
    }

    public error(...args: any[]): void {
        const timestamp = this.getTimestamp();
        console.error(`[${timestamp}] [ERROR]`, ...args);
    }
}

export default new Logger();
    